<ui:composition xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:f="http://java.sun.com/jsf/core"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui" template="/paginas/template.xhtml">

	<ui:define name="corpoForm">

		<f:event type="javax.faces.event.PreRenderComponentEvent"
			listener="#{manterUsuarioBean.preRenderNew}" />
		<h:form id="formCriarUsuario" prependId="false">

			<p:panelGrid columns="3" styleClass="botoes" id="botoes">
				<p:commandButton value="#{rsc.label_salvar}" styleClass="botao"
					action="#{manterUsuarioBean.salvar}" ajax="false"
					onclick="setTimeout('document.getElementById(\'' + this.id + '\').disabled=true;', 50);"
					rendered="#{p:ifGranted('CRIAR_USUARIO')}"
					title="#{rsc.title_salvar}" />

				<p:commandButton value="#{rsc.label_salvarContinuar}"
					styleClass="botao" update="growl"
					action="#{manterUsuarioBean.salvarContinuar}" ajax="false"
					onclick="setTimeout('document.getElementById(\'' + this.id + '\').disabled=true;', 50);"
					rendered="#{p:ifGranted('CRIAR_USUARIO')}"
					title="#{rsc.title_salvarContinuar}" />

				<p:commandButton value="#{rsc.label_cancelar}" styleClass="botao"
					update="growl" action="#{manterUsuarioBean.cancelar}" ajax="false"
					onclick="setTimeout('document.getElementById(\'' + this.id + '\').disabled=true;', 50);"
					title="#{rsc.title_cancelar}" immediate="true">
				</p:commandButton>

			</p:panelGrid>

			<p:panel id="pnlInfo" header="#{rsc.label_novoUsuario}"
				toggleable="true" toggleSpeed="500">

				<p:panelGrid columns="2">

					<p:outputLabel value="#{rsc.label_nomeUsuario}"
						for="txtNomeUsuario" styleClass="obrigatorio" />

					<p:outputLabel value="#{rsc.label_perfil}" for="listPerfis"
						styleClass="obrigatorio" />


					<p:inputText label="#{rsc.label_nomeUsuario}" id="txtNomeUsuario"
						maxlength="150" size="40" title="#{rsc.label_nomeUsuario}"
						value="#{manterUsuarioBean.entidade.nome}" />

					<p:selectOneMenu style="width: 200px" styleClass="full-width"
						label="#{rsc.label_perfil}" required="true"
						requiredMessage="#{msg.perfilObrigatorio}"
						value="#{manterUsuarioBean.entidade.perfil.id}" id="listPerfis">
						<f:selectItem itemLabel="#{rsc.label_selecionar}" itemValue="" />
						<f:selectItems value="#{manterUsuarioBean.formulario.perfis}"
							var="c" itemLabel="#{c.nome}" itemValue="#{c.id}" />
					</p:selectOneMenu>

				</p:panelGrid>

				<p:panelGrid columns="2">

					<p:outputLabel value="#{rsc.label_login}" for="txtUsername"
						styleClass="obrigatorio" />

					<p:outputLabel value="#{rsc.label_password}" for="txtPassword"
						styleClass="obrigatorio" />

					<p:inputText label="#{rsc.label_login}" id="txtUsername"
						maxlength="150" size="40" title="#{rsc.label_login}"
						value="#{manterUsuarioBean.entidade.username}" />

					<p:password label="#{rsc.label_password}" id="txtPassword"
						maxlength="150" size="40" title="#{rsc.label_password}"
						value="#{manterUsuarioBean.entidade.password}" required="true"
						feedback="true" promptLabel="#{rsc.label_promptSenha}"
						weakLabel="#{rsc.label_passwordFraco}"
						goodLabel="#{rsc.label_passwordMedio}"
						strongLabel="#{rsc.label_passwordSeguro}"
						requiredMessage="#{rsc.label_password} #{msg.errorCampoObrigatorio}" />

				</p:panelGrid>

				<p:panelGrid columns="2">

					<p:outputLabel value="#{rsc.label_cpf}" for="txtCpfUsuario"
						styleClass="obrigatorio" />

					<p:outputLabel value="#{rsc.label_email}" styleClass="obrigatorio"
						for="txtEmailUsuario" />

					<p:inputMask label="#{rsc.label_cpf}" styleClass="cpf"
						id="txtCpfUsuario" maxlength="150" size="40"
						title="#{rsc.label_cpf}" value="#{manterUsuarioBean.entidade.cpf}" />

					<p:inputText label="#{rsc.label_email}" id="txtEmailUsuario"
						maxlength="150" size="40" title="#{rsc.label_email}"
						value="#{manterUsuarioBean.entidade.email}">
						<p:ajax event="blur" listener="#{manterUsuarioBean.validarEmail}"
							update=":growl" />
					</p:inputText>

				</p:panelGrid>

				<p:panelGrid columns="2">

					<p:outputLabel value="#{rsc.label_celular}" for="txtCelularUsuario" />

					<p:outputLabel value="#{rsc.label_telefone}"
						for="txtTelefoneUsuario" />

					<p:inputMask label="#{rsc.label_celular}" id="txtCelularUsuario"
						maxlength="150" size="40" title="#{rsc.label_celular}"
						mask="#{rsc.maskTelefone}"
						value="#{manterUsuarioBean.entidade.celular}"
						styleClass="telefone" />

					<p:inputMask label="#{rsc.label_telefone}" id="txtTelefoneUsuario"
						maxlength="150" size="40" title="#{rsc.label_telefone}"
						mask="#{rsc.maskTelefone}"
						value="#{manterUsuarioBean.entidade.telefone}"
						styleClass="telefone" />

				</p:panelGrid>

				<p:panelGrid columns="1">
					<p:outputLabel value="#{rsc.label_ativo}" for="chkAtivo" />

					<p:selectBooleanCheckbox label="#{rsc.label_ativo}" id="chkAtivo"
						title="#{rsc.label_ativo}"
						value="#{manterUsuarioBean.entidade.ativo}" />

				</p:panelGrid>

			</p:panel>

			<p:panel id="pnlSocial" header="#{rsc.label_social}"
				toggleable="true" toggleSpeed="500">
				<p:panelGrid columns="1">
					<p:panelGrid columns="3">
						<p:outputLabel value="#{rsc.label_nome}" for="txtBuscarUsuario"
							styleClass="obrigatorio" />

						<p:inputText id="resultGraph"
							value="#{manterUsuarioBean.formulario.resultGraph}"
							style="display: none;" />

						<p:commandButton process="resultGraph, @this"
							style="display: none;" update="pnlFacebookUsers"
							id="btnCarregarUsuarios"
							actionListener="#{manterUsuarioBean.carregarUsuariosFacebook}" />

						<p:inputText label="#{rsc.label_nome}" id="txtBuscarUsuario"
							value="#{manterUsuarioBean.formulario.filtroUsuario}"
							maxlength="150" size="25" title="#{rsc.label_nome}" />

						<p:commandButton value="#{rsc.label_buscarPerfil}"
							update="pnlFacebookUsers, resultGraph, :growl"
							process="@this, :growl"
							actionListener="#{manterUsuarioBean.limparFacebookUsers}"
							styleClass="botao" oncomplete="buscarUsuariosFacebook();"
							title="#{rsc.title_buscarPerfil}" />
						<p:spacer />
					</p:panelGrid>
					<p:panelGrid columns="3" id="pnlFacebookUsers">
						<p:selectOneListbox id="cmbUsuariosFacebook"
							rendered="#{!empty manterUsuarioBean.formulario.facebookUsers}"
							value="#{manterUsuarioBean.formulario.usuarioSelecionado}"
							var="u" style="max-height:300px; width: 200px">

							<p:ajax event="change"
								listener="#{manterUsuarioBean.associarPerfil}" />

							<f:selectItems
								value="#{manterUsuarioBean.formulario.facebookUsers}"
								var="usuario" itemLabel="#{usuario.name}" itemValue="#{usuario}" />

							<p:column>
								<p:graphicImage value="#{u.picture}" width="40" />
							</p:column>

							<p:column>  
                				#{u.name}   
           					</p:column>
						</p:selectOneListbox>

						<p:commandButton value="#{rsc.label_associarPerfil}"
							process="@this"
							actionListener="#{manterUsuarioBean.associarPerfil}"
							rendered="#{!empty manterUsuarioBean.formulario.facebookUsers}"
							styleClass="botao" title="#{rsc.title_associarPerfil}" />

					</p:panelGrid>
				</p:panelGrid>
			</p:panel>

			<p:watermark value="#{rsc.wm_nomeUsuario}" for="txtNomeUsuario" />
			<p:watermark value="#{rsc.wm_cpf}" for="txtCpfUsuario" />
			<p:watermark value="#{rsc.wm_login}" for="txtUsername" />
			<p:watermark value="#{rsc.wm_senha}" for="txtPassword" />

			<p:watermark value="#{rsc.wm_telefone}" for="txtTelefoneUsuario" />
			<p:watermark value="#{rsc.wm_celular}" for="txtCelularUsuario" />
			<p:watermark value="#{rsc.wm_email}" for="txtEmailUsuario" />

		</h:form>
	</ui:define>
</ui:composition>

